@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

echo 🚀 Portfolio System 快速启动...

REM 检查 Docker 是否安装
docker --version >nul 2>&1
if errorlevel 1 (
    echo ❌ Docker 未安装，请先安装 Docker Desktop
    pause
    exit /b 1
)

REM 检查 docker-compose 是否安装
docker-compose --version >nul 2>&1
if errorlevel 1 (
    echo ❌ docker-compose 未安装，请先安装 docker-compose
    pause
    exit /b 1
)

REM 创建 .env 文件（如果不存在）
if not exist .env (
    echo 📝 创建 .env 文件...
    copy .env.example .env >nul
    echo ✅ 已创建 .env 文件
)

REM 停止可能运行的服务
echo 🛑 停止现有服务...
docker-compose down >nul 2>&1

REM 询问是否清理旧镜像
set /p clean_images="是否清理旧的 Docker 镜像？(y/n): "
if /i "!clean_images!"=="y" (
    echo 🧹 清理旧镜像...
    docker-compose down --rmi all >nul 2>&1
    docker system prune -f >nul 2>&1
)

REM 构建并启动服务
echo 🔨 构建并启动服务...
docker-compose up --build -d

if errorlevel 1 (
    echo ❌ 启动失败，请检查错误信息
    pause
    exit /b 1
)

REM 等待服务启动
echo ⏳ 等待服务启动...
timeout /t 15 /nobreak >nul

REM 检查服务状态
echo 📊 检查服务状态：
docker-compose ps

REM 测试健康检查
echo 🔍 测试应用健康状态...
for /l %%i in (1,1,10) do (
    curl -f http://localhost:9096/api/health >nul 2>&1
    if not errorlevel 1 (
        echo ✅ 应用启动成功！
        goto :success
    ) else (
        echo ⏳ 等待应用启动... (%%i/10)
        timeout /t 3 /nobreak >nul
    )
)

:success
echo.
echo 🎉 Portfolio System 启动完成！
echo 📱 应用访问地址: http://localhost:9096
echo 🗄️  数据库访问地址: localhost:9070
echo.
echo 📋 常用命令：
echo   查看日志: docker-compose logs -f
echo   停止服务: docker-compose down
echo   重启服务: docker-compose restart

pause